<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>面试题</title>
</head>
<body>
<script type='text/javascript'>

    //1  先执行变量提升，再执行函数提升
    function a() {}
    var a;
    console.log(typeof a);//a 最终是函数对象function(可以理解为函数提升比变量提升级别高，就是等变量提升完后再提升函数)

    //2
    if(!(b in window)){//(b in window)为ture
        var b = 1;
    }
    console.log(b);//undefined

    //3
    var c = 1;
    function c(c) {
        console.log(c);
        var c = 3;//这个c和外面的c无任何关系
    }
    c(2);
    /* 以上函数执行过程
    * var c;
    * function c(c){
    *   console.log(c);
    *   var c = 3;//让你误认为这里和最上面的c一样
    * }
    * c = 1;
    * c(2);
    * */
</script>
</body>
</html>